Spring Boot হল একটি জনপ্রিয় Java ফ্রেমওয়ার্ক যা দ্রুত এবং সহজে স্ট্যান্ডঅ্যালোন অ্যাপ্লিকেশন তৈরি করতে সহায়ক। H2 Database-কে Spring Boot অ্যাপ্লিকেশনের সাথে একীভূত করা খুবই সহজ এবং এটি উন্নত ডেভেলপমেন্টের জন্য একটি দ্রুত এবং লাইটওয়েট ডেটাবেস সমাধান। H2 এর সাথে Spring Boot ইন্টিগ্রেশন ডেভেলপমেন্ট প্রক্রিয়াটি আরও সহজ করে তোলে এবং এটি ডেটাবেস পরিচালনা ও টেস্টিংয়ের জন্য অত্যন্ত সুবিধাজনক।
এই টিউটোরিয়ালে, আমরা দেখব কীভাবে H2 Database কে Spring Boot অ্যাপ্লিকেশনের সাথে একীভূত করা যায়।
Spring Boot প্রোজেক্ট শুরু করার জন্য, আপনি Spring Initializr ব্যবহার করতে পারেন:
এছাড়াও, আপনি Spring Boot CLI অথবা IDE (IntelliJ IDEA, Eclipse) ব্যবহার করে একটি Spring Boot প্রোজেক্ট তৈরি করতে পারেন।
pom.xml (Maven) অথবা build.gradle (Gradle)-এ H2 Database এবং Spring Data JPA এর জন্য প্রয়োজনীয় ডিপেনডেন্সি যোগ করুন।
pom.xml (Maven):
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
build.gradle (Gradle):
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.h2database:h2'
implementation 'org.springframework.boot:spring-boot-starter-web'
}
এই ডিপেনডেন্সিগুলি Spring Data JPA এবং H2 Database এর সাথে কাজ করার জন্য প্রয়োজনীয় প্যাকেজ সরবরাহ করবে।
Spring Boot অ্যাপ্লিকেশনে H2 Database কনফিগার করতে src/main/resources/application.properties
ফাইলটি সম্পাদনা করুন:
# H2 Database কনফিগারেশন
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE;MODE=PostgreSQL
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
# H2 Web Console অ্যাক্সেস কনফিগারেশন
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
এখানে:
spring.datasource.url
: H2 Database URL। এখানে mem:testdb
ব্যবহার করা হয়েছে, যা ইন-মেমরি ডেটাবেজ তৈরি করবে।spring.datasource.username
এবং spring.datasource.password
: ডেটাবেজ ইউজারনেম এবং পাসওয়ার্ড।spring.h2.console.enabled=true
: H2 Web Console সক্রিয় করা হয়েছে, যাতে আপনি http://localhost:8080/h2-console এ ডেটাবেজ অ্যাক্সেস করতে পারেন।Spring Data JPA ব্যবহার করে H2 Database এর সাথে কাজ করার জন্য একটি Entity তৈরি করতে হবে। উদাহরণস্বরূপ, একটি Employee
Entity তৈরি করা হবে।
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Employee {
@Id
private Long id;
private String name;
private Integer age;
// Getter and Setter methods
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
এটি H2 ডেটাবেজে Employee
নামক একটি টেবিল তৈরি করবে।
Spring Data JPA ব্যবহার করার জন্য একটি Repository Interface তৈরি করতে হবে:
import org.springframework.data.jpa.repository.JpaRepository;
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}
এটি Employee
Entity এর জন্য CRUD অপারেশন সরবরাহ করবে।
অ্যাপ্লিকেশনের মধ্যে লজিক রাখতে একটি Service Layer তৈরি করতে হবে:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class EmployeeService {
@Autowired
private EmployeeRepository employeeRepository;
public List<Employee> getAllEmployees() {
return employeeRepository.findAll();
}
public Employee addEmployee(Employee employee) {
return employeeRepository.save(employee);
}
}
এখন একটি Controller তৈরি করুন, যা HTTP রিকোয়েস্ট গ্রহণ করবে এবং রেসপন্স প্রদান করবে।
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/employees")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@GetMapping
public List<Employee> getAllEmployees() {
return employeeService.getAllEmployees();
}
@PostMapping
public Employee addEmployee(@RequestBody Employee employee) {
return employeeService.addEmployee(employee);
}
}
এটি HTTP GET এবং POST রিকোয়েস্টের মাধ্যমে Employee ডেটা অ্যাক্সেস করবে।
Spring Boot অ্যাপ্লিকেশন চালানোর পর, আপনি H2 Web Console-এ http://localhost:8080/h2-console এ গিয়ে আপনার ডেটাবেজের সাথে সরাসরি ইন্টারঅ্যাক্ট করতে পারবেন।
jdbc:h2:mem:testdb
sa
password
আপনি অ্যাপ্লিকেশন চালাতে পারেন mvn spring-boot:run বা IDE থেকে সরাসরি রান করে:
mvn spring-boot:run
এবং ব্রাউজারে গিয়ে http://localhost:8080/employees এ GET রিকোয়েস্ট পাঠিয়ে আপনার Employee
ডেটা দেখতে পারবেন।
Spring Boot এর সাথে H2 Database একীভূত করা অত্যন্ত সহজ এবং দ্রুত। এই প্রক্রিয়া দিয়ে আপনি Spring Boot অ্যাপ্লিকেশনে H2 Database ব্যবহার করতে পারবেন, যেখানে ডেটাবেজের সাথে CRUD অপারেশন পরিচালনা করা যাবে। H2 ডেটাবেজটি ইন-মেমরি বা ডিস্ক-ভিত্তিক ডেটাবেজ হিসেবে ব্যবহার করা যায়, এবং এটি সহজে টেস্টিং এবং ডেভেলপমেন্টের জন্য উপযুক্ত।
common.read_more